/*
 * Copyright (c) Zhongkehonglue Technologies Co., Ltd. 2025. All rights reserved.
 * Description: Implementation of functions related to the DMC module.
 * Author: wangchunyang
 * Create: 2025-05-23
 */

#ifndef DMC_SEND_ACTION_H
#define DMC_SEND_ACTION_H

#include <string>
#include <unordered_map>
#include "upnp.h"
#include "upnpapi.h"
#include "upnptools.h"

#include "dmcApiTypes.h"

namespace DlnaDmc {

struct DmcActionInfo {
    std::string actionName;
    std::string serviceType;
    std::unordered_map<std::string, std::string> paraInfo;
};

IXML_Document* DmcGetActionNode(const DmcActionInfo &actionInfo);
dmc_int32 DmcSendAction(dmc_uint32 deviceId, const DmcActionInfo &actionInfo,
    IXML_Document **actionResult);
}
#endif /* DMC_SEND_ACTION_H */

